Hadoop একটি ডিস্ট্রিবিউটেড সিস্টেম, যা মূলত তিনটি প্রধান উপাদান দিয়ে গঠিত: HDFS, YARN, এবং MapReduce। এই তিনটি উপাদান Hadoop এর কার্যকারিতা এবং ক্ষমতা নিশ্চিত করে, এবং বড় পরিমাণ ডেটা সঞ্চয় এবং প্রসেসিংয়ের জন্য অপরিহার্য।
HDFS (Hadoop Distributed File System)
HDFS হলো Hadoop এর ফাইল স্টোরেজ সিস্টেম, যা বড় আকারের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। HDFS ডেটাকে একাধিক ব্লকে ভাগ করে বিভিন্ন নোডে (Node) সংরক্ষণ করে, যা ডেটার স্টোরেজ এবং অ্যাক্সেসকে আরও দক্ষ এবং দ্রুত করে তোলে।
HDFS এর বৈশিষ্ট্য
- ডিস্ট্রিবিউটেড স্টোরেজ (Distributed Storage): ডেটাকে ব্লক আকারে বিভিন্ন মেশিনে ভাগ করে রাখা হয়, যাতে দ্রুত অ্যাক্সেস এবং প্রসেসিং করা যায়।
- ডেটা রিপ্লিকেশন (Data Replication): HDFS ডেটার একাধিক কপি তৈরি করে, যাতে একটি নোড ব্যর্থ হলে অন্য নোড থেকে ডেটা পুনরুদ্ধার করা যায়।
- ফল্ট টলারেন্স (Fault Tolerance): HDFS সিস্টেমের কোনো অংশ যদি ব্যর্থ হয়, তবে অন্যান্য কপি থেকে ডেটা পুনরুদ্ধার করা সম্ভব।
HDFS এর মাধ্যমে, বড় পরিমাণ ডেটা সহজে এবং নিরাপদে স্টোর করা যায়, যা Hadoop এর ডিস্ট্রিবিউটেড আর্কিটেকচারের মূল ভিত্তি।
YARN (Yet Another Resource Negotiator)
YARN হলো Hadoop এর রিসোর্স ম্যানেজমেন্ট সিস্টেম, যা সিস্টেমের সম্পদ (Resources) ম্যানেজ করতে এবং টাস্ক শিডিউল করতে ব্যবহৃত হয়। এটি Hadoop ক্লাস্টারে বিভিন্ন টাস্কের জন্য রিসোর্স বরাদ্দ করে এবং টাস্কগুলির কার্যকারিতা নিশ্চিত করে।
YARN এর কাজ
- রিসোর্স ম্যানেজমেন্ট (Resource Management): YARN ক্লাস্টারের বিভিন্ন মেশিনে রিসোর্স বরাদ্দ করে, যেমন CPU, মেমরি ইত্যাদি।
- টাস্ক শিডিউলিং (Task Scheduling): YARN বিভিন্ন কাজের জন্য সিস্টেমের রিসোর্স নির্ধারণ করে, যাতে ক্লাস্টারের দক্ষ ব্যবহার নিশ্চিত হয়।
- টাস্ক এক্সিকিউশন (Task Execution): YARN, হেডনোড থেকে নির্দেশনা নিয়ে ক্লাস্টারের বিভিন্ন নোডে কাজটি নির্বাহিত করে।
YARN, Hadoop এর কার্যক্ষমতা বাড়াতে সহায়তা করে এবং একটি ক্লাস্টারে সকল প্রক্রিয়া সুসংগতভাবে পরিচালনা করে।
MapReduce
MapReduce হলো Hadoop এর একটি প্রোগ্রামিং মডেল যা ডিস্ট্রিবিউটেড ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এটি বড় ডেটা সেটের উপর কাজ করার জন্য দুটি প্রধান ধাপ অনুসরণ করে: Map এবং Reduce। MapReduce ডেটা প্রসেসিংয়ের জন্য যে কোন ধরনের বিশ্লেষণ বা গণনা সহজ করে তোলে।
MapReduce এর দুটি প্রধান ধাপ
- Map: এই ধাপে ডেটাকে ইনপুট হিসেবে নিয়ে, সেটিকে ছোট ছোট অংশে বিভক্ত করা হয়। প্রতিটি ছোট অংশে নির্দিষ্ট কাজ সম্পন্ন করা হয়, যেমন ডেটার ফিল্টারিং বা মান পরিবর্তন।
- Reduce: Map ধাপের ফলাফলগুলো একটি সেন্ট্রালাইজড অবস্থানে নিয়ে এসে, তাদের সমন্বয় করে একটি উপসংহার বা ফলাফল তৈরি করা হয়, যেমন গাণিতিক যোগফল বা গড়।
MapReduce, Hadoop এর ডিস্ট্রিবিউটেড আর্কিটেকচারের সুবিধা নিয়ে বড় ডেটাসেটের উপর গণনা করতে সাহায্য করে।
সারাংশ
Hadoop এর প্রধান উপাদানগুলো হলো HDFS, YARN, এবং MapReduce। HDFS ডেটার স্টোরেজ ব্যবস্থা প্রদান করে, YARN রিসোর্স ম্যানেজমেন্ট এবং শিডিউলিংয়ের কাজ করে, এবং MapReduce ডিস্ট্রিবিউটেড ডেটা প্রসেসিংয়ের জন্য প্রোগ্রামিং মডেল সরবরাহ করে। এই তিনটি উপাদান Hadoop কে Big Data প্রসেসিংয়ের জন্য অত্যন্ত শক্তিশালী এবং দক্ষ একটি সিস্টেমে পরিণত করে।
Read more